Implementation Notes

Issue #10 — Integration Tests & Coverage — 2026-06-14

Design Decisions

Decision Programmatic test data instead of binary fixtures

Integration tests construct DHCP messages programmatically using dhcproto APIs rather than loading pre-recorded binary files. This avoids version-locking to specific dhcproto wire formats and makes tests self-documenting.

Deviations

Binary fixture files omitted

Spec called for tests/fixtures/*.bin reference files. Instead, tests construct messages inline for better maintainability and clarity.

Test Summary

111 total tests (100 unit + 11 integration)

dhcpv4_option82: 3 tests — full DISCOVER→OFFER round-trip, echo mismatch, reforwarded handling

dhcpv4_vss: 3 tests — server support detection, VSS type encoding

dhcpv6_relay: 1 test — full SOLICIT→ADVERTISE round-trip via RELAY_FORW/RELAY_REPL

smf_dpd: 4 tests — duplicate suppression, TTL attack detection, pre-play countermeasure, window expiry